ProgID Key

A ProgID, or programmatic identifier, is a registry entry that can be associated with a CLSID. The format of a ProgID is <Vendor>.<Component>.<Version>, separated by periods and with no spaces, as in Word.Document.6. Like the CLSID, the ProgID identifies a class, but with less precision.

Registry Entry

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\<ProgID> =

You can use a ProgID in programming situations where it is not possible to use a CLSID. ProgIDs should not appear in the user interface. ProgIDs are not guaranteed to be unique so they can be used only where name collisions are manageable.

The <ProgID> must:

    Have no more than 39 characters.

    Contain no punctuation (including underscores) except one or more periods.

    Not start with a digit.

    Be different from the class name of any OLE 1 application, including the OLE 1 version of the same application, if there is one.

 

Since the <ProgID> should not appear in the user interface, you can obtain a displayable name by calling IOleObject::GetUserTypeVLMZIO. Also, see OleRegGetUserType>

The value of the <ProgID> is a human readable name such as Microsoft Word Document, and is displayed in dialog boxes.

SubKeys and Named Values

\<ProgID> = <HumanReadableNamen>

    \CLSIDYA.XWQ

Object s CLSID

    \InsertableBHKF3D

Indicates that class is insertable in OLE 2 containers

    \Protocol6SFY.E

Indicates class is insertable in OLE 1 container

    \Shell14CQ_OF

Windows 3.1 File Manager information

 

See Also

IOleObject::GetUserType, OleRegGetUserType